/*
 * @Description:
 * @Version: 2.0
 * @Autor: wiz
 * @Date: 2023-06-19 08:07:01
 * @LastEditors: wiz
 * @LastEditTime: 2023-08-25 13:12:02
 */
import { T_srv, Tsrv, ifs, ts, vue } from '@/services';
import G6 from '@antv/g6';
import { GraphOptions } from '@antv/g6-core/lib/types';
// import { initBehavors, initGraphOn, modes } from '../behavior';
import { T_graphInit, T_modes } from '../behavior';

const graphCfg = (): GraphOptions => {
  return {
    container: '',
    height: 400,
    width: 300,
    // Boolean，可选，切换布局时是否使用动画过度
    animate: true,
    // 设置为true，启用 redo & undo 栈功能
    enabledStack: true,
    // redo & undo 最大步数, 只有当 enabledStack 为 true 时才起作用，该配置项 V3.6 及以上版本支持。
    maxStep: 100,
    renderer: 'canvas', // svg | canvas 默认canvas
    // 开启画布自适应
    fitView: false,
    fitViewPadding: 100

    // 不自动布局，在graphToolbar.ts中外挂布局 这样保存的数据在打开时由于自动布局导致位置变化
    // layout: {
    //   type: 'rule-tree-layout',
    //   // 节点的最大宽度
    //   maxNodeWidth: 100,
    //   // 节点之间距离
    //   nodeDisX: 200,
    //   nodeDisY: 200
    // }
  };
};

export {
  G6,
  GraphOptions,
  T_graphInit,
  T_modes,
  T_srv,
  Tsrv,
  graphCfg,
  ifs,
  ts,
  vue
};
